Skip to content

Conversation

ryan953
Copy link
Member

@ryan953 ryan953 commented Aug 27, 2025

I noticed we had a lot of duplicate pages with the same docs related to release names.

The goal of this PR is to:

  1. Move Release Name related content out of platform docs, and into a central place. It's not platform specific knowledge really
  2. De-duplicate whatever is left over in the platform docs, so it's easier to maintain links to the central docs going forward.

The new central page is available at: /product/releases/naming-releases/

  • this content was taken from other places and re-worked a little.

Some existing pages are now more streamlined and will link to the new central location:

  • /cli/releases/
  • /platforms/javascript/configuration/releases/ (19 platform pages with the exact same content)
New page CLI Releases Platform pages
SCR-20250827-nlxs SCR-20250827-nmcx SCR-20250827-nmgx

Copy link

vercel bot commented Aug 27, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
sentry-docs Ready Ready Preview Comment Sep 2, 2025 8:59pm
1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
develop-docs Ignored Ignored Preview Sep 2, 2025 8:59pm

@codeowner-assignment codeowner-assignment bot requested a review from a team August 27, 2025 22:13
@ryan953 ryan953 requested review from a team and removed request for a team August 27, 2025 22:13
@codeowner-assignment codeowner-assignment bot requested review from a team and removed request for a team August 27, 2025 22:13
@ryan953 ryan953 requested review from chargome and a team August 27, 2025 22:14
@codeowner-assignment codeowner-assignment bot requested review from a team and removed request for chargome and a team August 27, 2025 22:14
Copy link

codecov bot commented Aug 27, 2025

Bundle Report

Changes will increase total bundle size by 16.75kB (0.07%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
sentry-docs-client-array-push 9.9MB -6 bytes (-0.0%) ⬇️
sentry-docs-server-cjs 12.51MB 16.76kB (0.13%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset Name Size Change Total Size Change (%)
1729.js -3 bytes 1.78MB -0.0%
../instrumentation.js -3 bytes 1.1MB -0.0%
9523.js -3 bytes 1.08MB -0.0%
../app/[[...path]]/page.js.nft.json 5.59kB 772.45kB 0.73%
../app/platform-redirect/page.js.nft.json 5.59kB 772.37kB 0.73%
../app/sitemap.xml/route.js.nft.json 5.59kB 769.84kB 0.73%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
static/chunks/pages/_app-*.js -3 bytes 882.71kB -0.0%
static/chunks/8321-*.js -3 bytes 425.87kB -0.0%
server/middleware-*.js -5.55kB 1.0kB -84.74%
server/middleware-*.js 5.55kB 6.55kB 555.3% ⚠️
static/djaBSLj5OHOvCrHjWN1Cb/_buildManifest.js (New) 684 bytes 684 bytes 100.0% 🚀
static/djaBSLj5OHOvCrHjWN1Cb/_ssgManifest.js (New) 77 bytes 77 bytes 100.0% 🚀
static/qFp-*.js (Deleted) -684 bytes 0 bytes -100.0% 🗑️
static/qFp-*.js (Deleted) -77 bytes 0 bytes -100.0% 🗑️

The value can be arbitrary, but for certain platforms, recommendations exist:

- for mobile devices use `package-name@version-number` or `package-name@version-number+build-number`. **Do not** use `VERSION_NUMBER (BUILD_NUMBER)` as the parenthesis are used for display purposes (foo@1.0+2 becomes 1.0 (2)), so invoking them will cause an error.
- if you use a DVCS we recommend using the identifying hash (eg: the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let sentry-cli automatically determine this hash for supported version control systems with `sentry-cli releases propose-version`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this part is not included in the new snippet. is it important to include there?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i was thinking that it's ok to bury it under "There are some release name restrictions and conventions to be aware of. Learn more about Naming Releases." but i can add it back if that link's easy to miss and the content is more useful to be here up-front.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's okay to shorten this section, but I would suggest adding a little bit more info in the linked area. I'll add a comment with a suggestion there.


- for mobile devices use `package-name@version-number` or `package-name@version-number+build-number`. **Do not** use `VERSION_NUMBER (BUILD_NUMBER)` as the parenthesis are used for display purposes (foo@1.0+2 becomes 1.0 (2)), so invoking them will cause an error.
- if you use a DVCS we recommend using the identifying hash (eg: the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let sentry-cli automatically determine this hash for supported version control systems with `sentry-cli releases propose-version`.
- if you tag releases we recommend using the release tag prefixed with a product or package name (for example, `my-project-name@2.3.12`).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same with this


Include a release ID (often called a "version") when you initialize the SDK.

There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be inline rather than linked? like the original docs had it

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the intention behind this change is to move out non-platform specific content such as naming releases to a central place in our Product docs. 😅

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 - I like the idea of centralizing.

ryan953 and others added 2 commits September 2, 2025 13:09
Co-authored-by: Michelle Zhang <56095982+michellewzhang@users.noreply.github.com>
Co-authored-by: Michelle Zhang <56095982+michellewzhang@users.noreply.github.com>
Copy link
Member

@jas-kas jas-kas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice clean up! A lot less repeated content now 😅

Since we're auditing all these release doc files, the platform docs all being named "Releases & Health" is odd. Shouldn't it be "Release Health"? Or if anything, I'd make it "Releases".

Since this is under the "Configuration" nav item, "Releases" make sense as that is the entity you're configuring. Maybe you can add this bulk change to the PR 👼


Releases are created directly via [automatic release management](/product/releases/setup/release-automation/), the [Sentry CLI](/cli/releases/), or manually via the [Sentry API](/api/releases/create-a-new-release-for-an-organization/).

Releases can also be auto-created by different systems -- for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Releases can also be auto-created by different systems -- for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
Releases can also be auto-created by different systemsfor instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.


## Release Names

Release IDs, (often called a "version" or "name") are used to uniquely identify a release across the entire Sentry organization. A release name may be associated with builds, events, sessions, etc. from multiple projects.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Release IDs, (often called a "version" or "name") are used to uniquely identify a release across the entire Sentry organization. A release name may be associated with builds, events, sessions, etc. from multiple projects.
Release IDs (often called a "version" or "name") are used to uniquely identify a release across the entire Sentry organization. A release name may be associated with builds, events, sessions, etc. from multiple projects.

</Alert>

The value can be arbitrary, but there are a few restrictions. In all cases, the release name cannot:
- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
- contain newlines, tabulator characters, forward slashes (`/`) or back slashes (`\`)

We automatically detect whether a project is using semantic or time-based versioning based on:

- If ≤ 2 releases total: we look at most recent release.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver (i.e., semantic versioning).


Include a release ID (often called a "version") when you initialize the SDK.

There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).
There are some release name restrictions and conventions to be aware of. [Learn more about naming releases](/product/releases/naming-releases/).


Include a release ID (often called a "version") when you initialize the SDK.

There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the intention behind this change is to move out non-platform specific content such as naming releases to a central place in our Product docs. 😅


There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).

Releases can also be auto-created by different systems -- for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This releases link just brings users back to the same exact page they are already on, with the added step of having to select a platform. 🤔 What information do you want to point to here?


There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).

Releases can also be auto-created by different systems -- for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Releases can also be auto-created by different systems -- for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
Releases can also be auto-created by different systemsfor instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.

```

Releases can also be auto created by different systems. For instance upon uploading a source map a release is automatically created. Likewise releases are created by some clients when an event for a release comes in.
There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).
There are some release name restrictions and conventions to be aware of. [Learn more about naming releases](/product/releases/naming-releases/).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm thinking through if I were to land on this page and just want to know the quick and dirty of naming. I like shortening this section, but think this part is still pretty important context, even on this page;

  • contain newlines, tabulator characters, forward slashes(/), or back slashes(\)
  • be (in their entirety) period (.), double period (..), or space ( )
  • exceed 200 characters

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ohh, looks like we should throw that into the includes file!

Releases can also be auto created by different systems. For instance upon uploading a source map a release is automatically created. Likewise releases are created by some clients when an event for a release comes in.
There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).

Releases can also be auto-created by different systems -- for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Releases can also be auto-created by different systems -- for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
Releases can also be auto-created by different systemsfor instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.

@sfanahata sfanahata self-requested a review September 9, 2025 21:30
- If ≤ 2 releases total: we look at most recent release.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
- If 10 or more releases: if any of the most recent 3 releases is semver, and 3 out of the most recent 10 releases is semver, then the project is semver.
<Include name="bind-release-version.mdx" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏


There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).

Releases can also be auto-created by different systems -- for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Releases can also be auto-created by different systems -- for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
Releases can also be auto-created by different systems -- for example, when uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.

Copy link
Contributor

@sfanahata sfanahata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this change! Thanks for giving the docs some includes goodness. I noted that I think it's still valuable to add the top level info about naming restrictions to the includes file, but otherwise, just added a couple of nits. Looks great. <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants